草庐IT

java - 构造函数中的异常

全部标签

javascript - 为什么这种函数调用在 JavaScript 中是错误的?

我想创建一个匿名函数,然后立即调用它。1)这样会带来语法错误。为什么?function(){alert("hello");}();2)将函数定义用()包装起来就可以了。(function(){alert("hello");})();3)或者,将匿名函数赋给一个变量。它有效。vardummy=function(){alert("hello");}();为什么第一种方式行不通? 最佳答案 ECMAScriptLanguageSpecification,第12.4节说:AnExpressionStatementcannotstartwit

javascript - document.observe ('dom:loaded' , 函数 () {

有没有办法让这个原型(prototype)js只在dom发生变化而没有加载时触发? 最佳答案 你可以观察到元素是这样变化的$('element').observe('change',function(e){});这是为表单元素保留的-textarea、select和input。最终代码看起来像这样:document.observe('dom:loaded',function(){$('element').observe('change',function(e){//dosomethinghere});});

一个函数内的 JavaScript setTimeout setInterval

我想我可能太累了,但我一辈子都无法理解这一点,我认为这是由于缺乏javascript知识所致varitv=function(){returnsetInterval(function(){sys.puts('interval');},1000);}vartout=function(itv){returnsetTimeout(function(){sys.puts('timeout');clearInterval(itv);},5500);}有了这两个函数我就可以调用了a=tout(itv());并让一个循环计时器运行5.5秒然后退出,基本上。按照我的逻辑,这应该可行,但根本不行vardo

返回八进制值的 Javascript eval 函数

当我尝试将“eval”函数作为eval("020*05+05")时,它返回85而不是105。有人能解释一下为什么eval函数会这样吗?还建议任何解决这个问题的方法。 最佳答案 以零开头的数字常量(如“020”)被解释为八进制。对于C、C++、Java、Javascript以及大多数与C具有模糊外观关系的其他语言都是如此。如果出于某种原因你真的、真的需要使用“eval()”,并且你有这些奇怪的字符串,数字常量上有伪造的前导零,你可以尝试这样的事情:varanswer=eval(weirdString.replace(/\b0(\d+)

javascript - JavaScript 中的模板引擎是如何工作的?

能否请您解释一下,JavaScript中的模板引擎是如何工作的?谢谢。JSON{"color":"red"}模板结果Red 最佳答案 作为起点,我建议您看一下String.prototype.replace方法并专门使用它的回调函数:functionreplaceTokens(str,replacement){returnstr.replace(/]+)\%>/g,function(str,match){returnreplacement[match];});}varinput="";replaceTokens(input,{"co

javascript - 在 Click 上调用两个 javascripts 函数

目前我的一个网页上有以下代码-GrabCoupon现在我想再运行一个以下列方式使用的脚本-onClick="recordOutboundLink(this,'OutboundLinks','ex.com');returnfalse;"现在有人可以告诉我如何在单击链接时调用这两个javacsript。提前致谢。 最佳答案 您可以在onclick事件处理程序中调用这两个函数:GrabCoupon为了避免将标记与javascript混合,我建议您为这个特定链接附加onclick事件,如下所示:GrabCoupon在head部分:windo

javascript - CSS 样式未应用于 Internet Explorer 7 中的动态元素

当我们在IE7中使用Javascript渲染动态元素时,CSS样式不会被应用。当我们使用WebDeveloper工具栏查看页面时,动态元素不会出现。页面在Firefox、Chrome和Safari中呈现良好。IE7是否无法将CSS样式应用于动态创建的元素?IE8正确呈现动态元素。这个问题适用于IE8,因为我们使用元标记强制IE8在IE7模式下呈现。谢谢! 最佳答案 我们发现了问题:我们需要使用setAttribute('className','cssClass'),而不是在新元素上使用setAttribute('class','cs

javascript - 从javascript中的子窗口刷新父窗口

我找了一段时间,找不到符合我需要的答案。我有一个弹出窗口(window.open)的页面,让用户登录(创建cookie,设置session),然后重定向到另一个页面。当模态重定向时,我想刷新父页面,这样我刚刚所做的所有好事都会被父页面识别。我试过window.opener之类的东西。有人可以帮我一下吗?谢谢 最佳答案 window.opener在弹出窗口中将引用打开窗口的window对象,因此您当然应该能够调用window.opener.location.reload();。只要你不违反SameOriginPolicy,弹出窗口可以

javascript - javascript中的模板方法

我想在javascript中实现模板方法模式。我有一个带有一些子类的PropertyDecorator:OpenButtonDecorator、SeeButtonDecorator等等。我想在属性装饰器中有下一个功能:varbuild=function(){decorate();//AbstractinPropertyDecorator,definedinsubclassesreturnle.build();}我怎样才能让这个场景发挥作用?也许我实现了错误的继承:S(也有帮助:))提前谢谢你。 最佳答案 Javascript是一种动

javascript - setInterval 的这种行为是否意味着 Javascript 中的多线程行为?

在使用javascript时我注意到了这件事。你可以使用vari=0;varstartingTime=newDate().getTime();setInterval("foo()",1);functionfoo(){i+=1;if($("#foodiv").text()==i){//wedetectedadoubledvalue(parallelexecution)$("#repdiv").append("[repetitionon"+i+"]");}$("#foodiv").html(i);$("#timediv").html(Math.floor((newDate().getTim